<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <link type="text/css" rel="stylesheet" href="/webjars/bootstrap/3.3.7/css/bootstrap.css">
    <script type="text/javascript" src="/webjars/jquery/3.4.1/jquery.js"></script>
    <script type="text/javascript" src="/webjars/bootstrap/3.3.7/js/bootstrap.js"></script>
    <script type="text/javascript" src="/webjars/vue/2.6.10/dist/vue.js"></script>
    <script type="text/javascript" src="/webjars/axios/0.19.0/dist/axios.js"></script>
</head>
<body>
<div id="vuebox">
    <div class="container" style="margin-top: 50px">
        <div class="row">
            <div class="col-md-6">
                <form class="form-inline" role="form" style="padding-left: 250px;">
                    <div class="form-group" style="padding-left: 20px;">
                        <label>讨论版区:</label>
                        <select class="form-control" v-model="sortId">
                            <option value="0">全部</option>
                            <option v-for="item in sortList.data" :value="item.id">{{item.name}}</option>
                        </select>
                    </div>
                    <div class="form-group"  style="padding-left: 20px;">
                        <button type="button" class="btn btn-primary" @click="selectDetail(1)">查询</button>
                    </div>
                </form>
            </div>
            <div class="col-md-4 text-right">
                <a href="#" class="btn btn-primary" @click.stop="showModal()">发帖</a>
            </div>
        </div>
        <br/>
        <table class="table table-striped">
            <thead>
            <tr>
                <th>帖子ID</th>
                <th>标题</th>
                <th>作者</th>
                <th>概述</th>
                <th>发布时间</th>
                <th>回复次数</th>
                <th>操作</th>
            </tr>
            </thead>
            <tbody>
            <tr v-for="item in details.data.list">
                <td>{{item.id}}</td>
                <td>{{item.title}}</td>
                <td>{{item.author}}</td>
                <td>{{item.detail}}</td>
                <td>{{item.createdate}}</td>
                <td>{{item.replycount}}</td>
                <td>
                    <button class="btn btn-success" @click="to_update_detail(item.id)">修改</button>
                    <button class="btn btn-danger"@click="deleteDetail(item.id)">删除</button>
                </td>
            </tr>
            </tbody>
        </table>
        <br/>
        <div class="text-right">
            <ul class="pagination">
                <li :class="{disabled:!details.data.hasPreviousPage}"><a href="#" @click.stop="selectDetail(details.data.perPage)">&laquo;</a></li>
                <li :class="{active:details.data.pageNum==i}" v-for="i in details.data.navigatepageNums"><a href="#" @click.stop="selectDetail(i)">{{i}}</a></li>
                <li :class="{disabled:!details.data.hasNextPage}"><a href="#" @click.stop="selectDetail(details.data.nextPage)">&raquo;</a></li>
            </ul>
        </div>
    </div>
    <!--模态框-->
    <div class="modal" id="mymodal">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button class="close" type="button" @click="hideModal()">&times;</button>
                    <div class="modal-title">
                        发布新贴
                    </div>
                </div>
                <div class="modal-body">
                    <form class="form-horizontal" role="form">
                        <input id="detail_id" type="text" v-model="new_detail.id">
                        <div class="form-group">
                            <label for="sortId" class="col-sm-2 control-label">发布版区</label>
                            <div class="col-sm-10">
                                <select id="sortId" class="form-control" v-model="new_detail.sortid">
                                    <option value="0">全部</option>
                                    <option v-for="item in sortList.data" :value="item.id">{{item.name}}</option>
                                </select>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="title" class="col-sm-2 control-label">标题</label>
                            <div class="col-sm-10">
                                <input v-model="new_detail.title" id="title" type="text" class="form-control" placeholder="请输入图书名称">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="author" class="col-sm-2 control-label">作者</label>
                            <div class="col-sm-10">
                                <input v-model="new_detail.author" id="author" type="text" class="form-control" placeholder="请输入图书摘要"/>
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="detail" class="col-sm-2 control-label">摘要</label>
                            <div class="col-sm-10">
                                <input v-model="new_detail.detail" id="detail" type="text" class="form-control" placeholder="请输入图书摘要"/>
                            </div>
                        </div>
                       <!-- <div class="form-group">
                            <label for="createdate" class="col-sm-2 control-label">上传人</label>
                            <div class="col-sm-10">
                                <input v-model="new_detail.createdate" id="createdate" type="text" class="form-control" placeholder="请输入上传人">
                            </div>
                        </div>
                        <div class="form-group">
                            <label for="replycount" class="col-sm-2 control-label">上传时间</label>
                            <div class="col-sm-10">
                                <input v-model="new_detail.replycount" id="replycount" type="text" class="form-control" placeholder="请输入上传时间">
                            </div>
                        </div>-->
                    </form>
                </div>
                <div class="modal-footer">
                    <button class="btn btn-default" @click="hideModal()">关闭</button>
                    <button class="btn btn-primary" @click="saveDetail()">保存</button>
                </div>
            </div>
        </div>
    </div>
</div>


</body>
</html>
<script type="text/javascript">
    var vm=new Vue({
        el:"#vuebox",
        data:{
          sortList:{},
            sortId:"0",
            details:{},
            pageNum:'',
            delResult:{},
            new_detail:{sortid:'0',title:'',author:'',detail:'',createdate:new Date(),replycount:0}
        },
        methods:{
            selectDetail:function (pageNum) {
                axios.get("/selectDetail",{params:{sortId:this.sortId,pageNum:pageNum}}).then(res=>{
                    this.details=res.data;
                    this.pageNum=pageNum;
                });
            },
            deleteDetail:function (id) {
                axios.get("/delDetailById",{params:{id:id}}).then(res=>{
                    this.delResult=res.data;
                    if(this.delResult.result=='SUCCESS'){
                        alert("删除成功")
                        this.selectDetail(this.pageNum)
                    }else {
                        alert(this.delResult.message)
                    }
                })
            },
            showModal:function () {
              $("#mymodal").modal('show');

            },
            hideModal:function () {
              $('#mymodal').modal('hide');
              this.clearForm();
            },
            clearForm:function () {
              $('#sortId').val(0);
              $('#title').val('');
              $('#author').val('');
              $('#createdate').val('');
              $('#replycount').val('');
              $('#detail').val('');
            },
            saveDetail:function () {
                axios.post("/saveDetail",this.new_detail).then(res=>{
                    this.delResult=res.data;



                    if (this.delResult.result == 'SUCCESS') {
                            this.selectDetail(this.pageNum);
                            this.hideModal();
                        } else {
                            alert("不能为空");
                        }


                })
            },
            to_update_detail(id){
                axios.get("/getDetailById",{params:{id:id}}).then(res=>{
                    this.new_detail=res.data.data;
                    this.showModal();
                })
            }
        },
        mounted(){
            axios.get("/getSortList").then(res=>this.sortList=res.data);
            this.selectDetail(1);
        }
    })
</script>